/**
 * 全局环境参数配置
 */
export interface VueMetaEnv {
  /** 应用端口 */
  APP_PORT: string;
  /** 应用Base URL*/
  APP_BASE_URL: string;
  /** API Web基础路径 */
  APP_BASE_API: string;
  /** API URL 地址 */
  APP_API_URL: string;
  /** 应用客户端地址 */
  APP_CLIENT_ID: string;
  /** 微信AppID */
  APP_WECHAT_APPID?: string;
  /** 目录ID */
  APP_DIRECTORY_ID?: "xyvcard" | "jmash";
  /** 租户 */
  APP_TENANT?: string;
  /** 登录页默认登录方式 */
  APP_ACTIVE?: "user" | "qrCode";
  /** 登录后默认跳转地址 */
  APP_REDIRECT?: string;
  /** 二维码登录超时时间 */
  APP_TIMEOUT?: number;
  // 产品名称
  APP_PRODUCT?: string;
}

//Jmash Table Column 定义.
export interface TableColumn {
  // 表格的列名
  label: string;
  // 对应对象中的键名填入数据
  prop?: string;
  // 宽
  width?: string | number;
  // 最小宽度
  minWidth?: string | number;
  // 插槽指定具体的name 名称
  slotName?: string;
  // 插槽, 例如时间、图片等
  columnType?: string;
  // 是否固定
  fixed?: string | boolean;
  // 是否显示这一列
  isColumn?: boolean;
  // 排序
  sortable?: string | boolean;
  //对应列的类型,expand,index
  type?: string;
}

//Jmash Table Sort 定义
export interface TableSort {
  //列名
  column: string;
  //列绑定属性
  prop: string;
  //列排序
  order: string | null;
}

/**
 * 新增编辑弹框参数
 */
export interface DialogRef {
  // 标题
  title: string;
  // 显示隐藏
  visible: boolean;
}

/**
 * 系统设置
 */
/**
 * 系统设置
 */
export interface AppSettings {
  /** 系统标题 */
  title: string;
  /** 系统版本 */
  version: string;
  /** LOGO */
  logo: string;
  /** 是否显示设置 */
  showSettings: boolean;
  /** 是否固定头部 */
  fixedHeader: boolean;
  /** 是否显示多标签导航 */
  tagsView: boolean;
  /** 是否显示侧边栏Logo */
  sidebarLogo: boolean;
  /** 导航栏布局(left|top|mix) */
  layout: string;
  /** 主题颜色 */
  themeColor: string;
  /** 主题模式(dark|light) */
  theme: string;
  /** 布局大小(default |large |small) */
  size: string;
  /** 语言( zh-cn| en) */
  language: string;
  /** 是否开启水印 */
  watermarkEnabled: boolean;
  /** 水印内容 */
  watermarkContent: string;
}

/**
 * 上传文件返回的数据
 */
export interface FileResponseReq {
  // 文件类型
  contentType?: string;
  // 文件创建时间
  createDate?: string;
  // 文件后缀
  fileExt?: string;
  // 文件高度
  fileHeight?: number;
  // 文件ID
  fileId?: string;
  // 文件大小
  fileSize?: string;
  // 文件路径
  filePath?: string;
  // 文件宽度
  fileWidth?: number;
  // 文件MD5
  hashSha256?: string;
  // 文件Sm3
  hashSm3?: string;
  // 文件名
  fileName?: string;
}

export interface FilesReq {
  fileName?: string;
  fileId?: string;
}
